﻿/////////////////////////////////////////////////////////////////////////////////////////////
// <copyright file="MailBoxStat.cs" company="Microsoft Corporation">
//     Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
/////////////////////////////////////////////////////////////////////////////////////////////

namespace Microsoft.LiveAtEdu.Samples.Powershell.OutlookLive
{
    using System;

    /// <summary>
    /// Mailbox statistics information object.
    /// </summary>
    public class MailBoxStat
    {
        /// <summary>
        /// Initializes a new instance of the MailBoxStat class.
        /// </summary>
        /// <param name="name">User's name</param>
        /// <param name="size">User's mailbox size (text)</param>
        /// <param name="sizeInBytes">User's mailbox size (int) in bytes</param>
        /// <param name="identity">User's unique identifier</param>
        /// <param name="isEnabled">User's mailbox is enabled</param>
        /// <param name="storageLimitStatus">Status of mailbox size</param>
        /// <param name="alias">Windows Live Id</param>
        /// <param name="lastLogonTime">Last logon time</param>
        public MailBoxStat(
            string name,
            string size,
            int sizeInBytes,
            string identity,
            bool isEnabled,
            string storageLimitStatus,
            string alias,
            DateTime lastLogonTime)
        {
            this.Name = name;
            this.Size = size;
            this.Identity = identity;
            this.IsEnabled = isEnabled;
            this.StorageLimitStatus = storageLimitStatus;
            this.Alias = alias;
            this.LastLogonTime = lastLogonTime;
            this.SizeInBytes = sizeInBytes;
        }

        /// <summary>
        /// Gets User's name
        /// </summary>
        public string Name { get; private set; }

        /// <summary>
        /// Gets User's mailbox size (text)
        /// </summary>
        public string Size { get; private set; }

        /// <summary>
        /// Gets User's unique identifier
        /// </summary>
        public string Identity { get; private set; }

        /// <summary>
        /// Gets a value indicating whether User's mailbox is enabled
        /// </summary>
        public bool IsEnabled { get; private set; }

        /// <summary>
        /// Gets Status of mailbox size
        /// </summary>
        public string StorageLimitStatus { get; private set; }

        /// <summary>
        /// Gets Windows Live Id
        /// </summary>
        public string Alias { get; private set; }

        /// <summary>
        /// Gets Last logon time
        /// </summary>
        public DateTime LastLogonTime { get; private set; }

        /// <summary>
        /// Gets User's mailbox size (int) in bytes
        /// </summary>
        public int SizeInBytes { get; private set; }
    }
}
